package com.lmind.core.gps.tm;

import com.lmind.core.async.ResultHandler;
import com.lmind.core.gps.terminal.message.AbstractMessage;
import com.lmind.core.gps.terminal.message.ReplyMessage;

/**
 * 终端管理器
 * 1.和多个终端网关对接，以标准终端协议交换信息
 * 2.管理终端及其相关状态(例如通过哪个网关接入系统,接入系统的时间等等)
 * 3.允许对终端的状态进行查询
 * 4.终端的鉴权
 * 
 * @author 刘勉
 *
 */
public interface TerminalManager {
	
	void addTerminalManagerListener(TerminalManagerListener listener);
	
	void removeTerminalManagerListener(TerminalManagerListener listener);
	
	void send(String deviceSerial, AbstractMessage message, ResultHandler<ReplyMessage> handler);
}
